

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upc.clase.demo.controller;

import edu.upc.clase.demo.entity.Credential;
import edu.upc.clase.demo.entity.Foro;
import edu.upc.clase.demo.entity.PlanNegocio;
import edu.upc.clase.demo.service.ForoServicio;
import edu.upc.clase.demo.service.PlanNegocioService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author JMD
 */
@Controller("foroController")
public class ForoController {
    
    @Autowired
    private ForoServicio foroServicio;

    @Autowired
    private PlanNegocioService planNegocioServicio;

    private static Logger log = LoggerFactory.getLogger(ForoController.class);
    
    @RequestMapping("/planes/index")
    public ModelAndView index() {
        ModelAndView mav = new ModelAndView("planes/index");         
        //CriterioBusqueda criterioBusqueda = new CriterioBusqueda();
        //mav.addObject("usuarios", usuarios);
        //mav.addObject("criterioBusqueda",criterioBusqueda);
        return mav;
    }    

    @RequestMapping("/planes/preguntasRespuestas")
    public ModelAndView monitorearPlanes() {
        ModelAndView mav = new ModelAndView("planes/preguntasRespuestas");
        List<PlanNegocio> P = planNegocioServicio.buscarTodos();
        mav.addObject("plan", P);
        return mav;
    }
    
    @RequestMapping(value="/planes/newPreguntasRespuestas", method=RequestMethod.GET)
    public ModelAndView newPregunta(@RequestParam("id")Integer id, HttpServletRequest request){
        ModelAndView mav = new ModelAndView("planes/newPreguntasRespuestas");
        PlanNegocio p=planNegocioServicio.buscar(id);
        System.out.println("p: " + p.getFecha_registro());
        Foro f = new Foro();
        //f.setForo_id_foro_ref(id);
        f.setPlan_negocio_id_plan(id);
        //request.getSession().setAttribute("credential",credential);
        Credential c = (Credential)request.getSession().getAttribute("credential");
        f.setUsuario_id_usuario(c.getId());

        List<Foro> fl = foroServicio.buscarPorPlan(id);
        mav.getModelMap().put("forolista", fl);
        mav.getModelMap().put("plan", p);
        mav.getModelMap().put("foro", f);
        return mav;
    }

    @RequestMapping(value="/planes/newPreguntasRespuestas", method=RequestMethod.POST)
    public String newPregunta(@ModelAttribute("foro")Foro f, SessionStatus status)
    {
        foroServicio.insertarPregunta(f);
        status.setComplete();
        return "redirect:/pages/planes/preguntasRespuestas";
    }

    @RequestMapping("/planes/preguntasRespuestasSabio")
    public ModelAndView monitorearPlanesSabio() {
        ModelAndView mav = new ModelAndView("planes/preguntasRespuestasSabio");
        List<PlanNegocio> P = planNegocioServicio.buscarTodos();
        mav.addObject("plan", P);
        return mav;
    }

    @RequestMapping(value="/planes/newPreguntasRespuestasSabio", method=RequestMethod.GET)
    public ModelAndView newPreguntaSabio(@RequestParam("id")Integer id, HttpServletRequest request){
        ModelAndView mav = new ModelAndView("planes/newPreguntasRespuestasSabio");
        PlanNegocio p=planNegocioServicio.buscar(id);
        List<Foro> fl = foroServicio.buscarPorPlan(id);
        Foro f = new Foro();
        //f.setForo_id_foro_ref(id);
        f.setPlan_negocio_id_plan(id);
        Credential c = (Credential)request.getSession().getAttribute("credential");
        f.setUsuario_id_usuario(c.getId());
        mav.getModelMap().put("plan", p);
        mav.getModelMap().put("foro", f);
        mav.getModelMap().put("forolista", fl);
        return mav;
    }

    @RequestMapping(value="/planes/newPreguntasRespuestasSabio", method=RequestMethod.POST)
    public String newPreguntaSabio(@ModelAttribute("foro")Foro f, SessionStatus status)
    {
        foroServicio.insertarRespuesta(f);
        status.setComplete();
        return "redirect:/pages/planes/preguntasRespuestasSabio";
    }


    
}

